草庐IT

PHP array_key_exists 和 UTF 8

全部标签

PHP 的 current() 和 key() 函数;与函数签名不一致

我注意到PHP的current()和key()数组函数(像其他数组指针函数)通过引用获取数组参数:mixedcurrent(array&$array)Everyarrayhasaninternalpointertoits"current"element,whichisinitializedtothefirstelementinsertedintothearray.经过几次快速检查,似乎current()和key()(不像其他数组指针函数)都接受按值传递数组参数,从而在传递函数的返回值时不会抛出错误。我得出的结论是,这仅仅是因为current()和key()没有尝试移动数组指针,因此不需

php - 如何在 PHP 字符串比较中模拟 MySQLs utf8_general_ci 排序规则

基本上,如果两个字符串在我的数据库中的计算结果相同,我还希望能够在应用程序级别进行检查。例如,如果有人在搜索字段中输入“bjork”,我希望PHP能够像MySQL一样将其与字符串“Björk”匹配。我猜PHP没有直接等同于MySQL的整理选项,最简单的做法是编写一个简单的函数来转换字符串,使用strtolower()使它们统一小写和strstr()将多字节字符替换为其相应的ASCII等效字符。这是一个准确的假设吗?有没有人有一个万无一失的数组可以方便地用作strstr()的第二个参数,用于符合各种MySQL排序规则的字符串(特别是为了我当前的需要,utf8_general_ci)?或者

PHP RSA key 创建

我在创建/使用在PHP中创建和使用的RSAkey时遇到问题。问题是,(公钥和私钥)应该在不同的服务器之间交换(例如,当用户帐户被移动时)。现在,PHP的openssl-lib没有提供任何关于以何种格式创建key的详细信息。最新文档位于http://php.net/manual/en/function.openssl-pkey-export.php只是声明它是“PEM格式”,但没有说明它是PKCS#1还是PKCS#8此外,私钥PEM的header和尾部在PHP版本之间有所不同,如以下代码所示:'sha512',"private_key_bits"=>4096,"private_key_t

php - file_exists 或 getimagesize 仅适用于本地绝对文件路径,但不适用于 PHP 中的 URL

我最近更新了我的一台服务器,从那时起,我遇到了一些特定PHP命令的问题(见下文)。我相信这是一个配置问题,但我已经调查了几件事并且不知道更多。所以也许你们中的一个人有一个好主意:我使用以下代码来显示内部网站上的标准Logo或用户定义的Logo:if(L_HEADER){$logo=L_HEADER;}else{$logo='logo.png';}$properties=getimagesize(CONFIG_URL.'images/'.$logo)L_HEADER和CONFIG_URL是具有预定义值的常量(另一个文件):L_HEADER包含“opb_beta.png”CONFIG_UR

php - Memcached key 生成 从参数到函数

这个问题类似于aquestionaskedaboutjava,但我在php中执行此操作,因此我认为它不符合重复项的条件。我想要一种在调用此函数时生成确定性key的方法。该功能应该像读取缓存一样运行。如果key存在,则检索数据。如果不是,则调用存储数据的函数,然后返回它。这是我所拥有的并且它有效,但我不确定它是否安全以及它是否足够确定性甚至足够独特,因为我对这些主题的理解绝对为0。//$call=functionbeingcalled$args=argumentstothatfunction//$force=forcecachetobypassed,thenupdatedpublicfu

php - 运行 phpcs 时,错误 : Referenced sniff "PHPCompatibility" does not exist is coming

我想运行phpcs工具,但是这个错误来了,错误:引用的嗅探“PHPCompatibility”不存在我运行了phpcs-i。这给了我,安装的编码标准是PEAR、PSR1、Zend、Squiz、PSR12、PSR2、MySource和PHPCompatibility。但总是会出现这个错误,错误:引用的嗅探“PHPCompatibility”不存在。有什么原因吗? 最佳答案 根据当前PHPCompatibilityCodingStandard执行此步骤所需的文档:打开您的composer.json文件并将以下行添加到:"require-

php - Firestore : Key writes does not exist in the provided array

谁能告诉我,以下错误消息试图告诉我什么?Fatalerror:Uncaughtexception'InvalidArgumentException'withmessage'Keywritesdoesnotexistintheprovidedarray.'in/vendor/google/cloud/Core/src/ArrayTrait.php:38Stacktrace:#0/vendor/google/cloud/Firestore/src/Connection/Grpc.php(127):Google\Cloud\Firestore\Connection\Grpc->pluck('

php - 使用正则表达式删除存储的 apc key

是否可以使用一种方法使您能够使用正则表达式删除存储的apc条目?例如,当新数据输入数据库时​​,我想从缓存中删除一些用户查询,以便在下次运行查询时显示新数据。假设您有一个缓存的好友列表查询,但是当添加新好友时,该用户的所有缓存好友查询都将被删除......如果我有这样的用户好友列表键:$sql="SELECT*FROMfriendsWHEREuserId=:userId";$sqlKey=str_replace(":userId",$userId,$sql);$key=$userId."-friend".md5('query'.$sqlKey);$data=friendsArray;a

PHP 这种 key 叫什么?类似于 UUID

在我正在处理的Web应用程序中,我需要生成长度过长的唯一ID。比典型的UUID更长。另一个类似的网络应用程序使用如下所示的键:cb745abbc635c03f0c259b65y5da57c06e12ef51这些叫什么?以及如何在PHP中创建独特的?我试过UID方法,但是它们有点短。 最佳答案 您发布的示例是一个40个字符的十六进制字符串,因此看起来很像SHA1散列。PHP的内置sha1()function会将输入字符串散列为这样的散列。如果您将microtime(true)(以微秒作为float获取当前时间)作为输入,您将获得一个唯

php - AWS4 签名 key - 本教程有误吗?

根据此页面:ExamplesofHowtoDeriveaSigningKeyforSignatureVersion4这段代码的结果:$kSecret="wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY";$kDate=hash_hmac('sha256',"20120215","AWS4".$kSecret);echo"date:".$kDate."";$kRegion=hash_hmac('sha256',"us-east-1",$kDate);echo"region:".$kRegion."";$kService=hash_hmac('sha256'